/**
 * js中提供了 typeof运算符,用来获取js中获取数据的类型
 * ts中: 可以在类型上下文中引用 变量或属性 的类型(类型查询)
 * 
 * 场景: 根据已有变量的值,获取该值的类型,来简化 类型书写
 * 
 * 
 *  1.使用 typeof   获取变量P的类型,结果与第一种(对象字面量形式的类型)相同
 *  2.typeof 出现在类型注解的位置(参数名称的冒号后面)所处的环境就在类型上下文(区别于js代码)
 *  3.typeof 只能用来查询变量或属性的类型,无法查询其他形式的类型(比如,函数调用的类型)
 * 
 */





let p = {x:1, y:2}

function formatP (point: typeof p) {
    console.log(111)
}

function formatP11 (point: {x:number, y:number}) {
    console.log(111)
}

formatP({x:1, y:2})



let num: typeof p.x

function add(n1:number, n2:number) {
    return n1+n2
}

// let ret: typeof add(1,2) //无法查询



